package com.networkmanagerj.view.equipamento
{
	import com.networkmanagerj.model.Equipamento;
	import com.networkmanagerj.model.LocalFisico;
	
	import mx.collections.ArrayCollection;
	import mx.core.UIComponent;
	import mx.events.FlexEvent;
	import mx.rpc.events.ResultEvent;

	public class EquipamentoGridScript extends EquipamentoGridView
	{
		private var loadLocais:Boolean = true;
		public function EquipamentoGridScript()
		{
			super();
		}
		
		override protected function onCreateComplete(event:FlexEvent):void{
			super.onCreateComplete(event);	
		}
		
		override protected function loadDataProvider():void{
			dataProvider = null;
			remoteObject.getAll(Equipamento.remoteClass);
		}
		
		override protected function save():void{
			equipamento.ip = txtIp.text;
			equipamento.nome = txtNome.text;
			equipamento.login = txtLogin.text;
			equipamento.senha = txtSenha.text;
			equipamento.localFisico = cbLocais.selectedItem;
			if(equipamento.id==0){
				remoteObject.save(equipamento);
			}else{
				remoteObject.update(equipamento);
			}
		}
		
		override protected function clearForm(child:UIComponent=null):void{
			equipamento = new Equipamento();
			tw.title = "Novo Equipamento";
		}
		
		override protected function gridEdit(object : Object):void
		{
			super.gridEdit(object);
			equipamento = object as Equipamento;
			tw.title = "Editando Equipamento";
		}
		
		override protected function getAllSucess(event:ResultEvent):void{
			super.getAllSucess(event);
			if(loadLocais){
				locaisFisicos = null;
				remoteObject.getAll(LocalFisico.remoteClass);
				loadLocais=false;
			}else if(!loadLocais && locaisFisicos == null){
				locaisFisicos = event.result as ArrayCollection;
			}
		}
	}
}